home *** CD-ROM | disk | FTP | other *** search
/ Business Assistant / Business Assistant.iso / acctg / tonyray1 / bill.prg < prev    next >
Text File  |  1985-10-23  |  6KB  |  293 lines

  1. SET DEVI TO PRINT
  2. line=1
  3. MNAME='ROBERT A. RAY,P.C.'
  4. POS=40-LEN(TRIM(MNAME))/2
  5. @ 01,POS SAY MNAME
  6. MADDRESS='P.O. BOX 614,423 S. SPRING'
  7. POS=40-LEN(TRIM(MADDRESS))/2
  8. @ 02,POS SAY MADDRESS
  9. MCITY='TYLER,TEXAS 75710'
  10. POS=40-LEN(TRIM(MCITY))/2
  11. @ 03,POS SAY MCITY
  12. @ 04,38 say '* * *'
  13. mphone='214-593-2020'
  14. pos=40-len(trim(mphone))/2
  15. @05,pos say mphone
  16. LINE=PROW()+5
  17. FIND '&mfile_nmbr'
  18. @line,04 say clientname
  19. @line,51 say 'File number - RAR'+file_nmbr
  20. @line+1,04 say cstreet
  21. @line+1,57 say 'Ref: '+reference
  22. @line+2,04 say ccity_st
  23. @line+2,51 say 'Billing date: '+dtoc(date())
  24. @line+4,04 say 'ATTEN: '+contact
  25. @LINE+6,00 SAY "PREVIOUS MONTH'S BALANCE"
  26. @LINE+6,65 SAY '$'
  27. @line+6,66 say str(prev_bal,8,2)
  28. MCODE=CODE
  29. sele SERVICE
  30. FIND '&mfile_nmbr'
  31. line=prow()+3
  32. @LINE,00 SAY 'DATE'
  33. @line,11 say 'PROFESSIONAL SERVICES RENDERED'
  34. line=prow()+2
  35. IF EOF()
  36. @LINE,12 say '(NO BILLABLE TIME THIS MONTH)'
  37. TOTALSER=0.00
  38. MSERCOUNT=0
  39. ELSE
  40. MSERCOUNT=0
  41. FIND '&MFILE_NMBR'
  42. DO WHIL FILE_NMBR='&MFILE_NMBR' .and. .not. eof()
  43. IF KIND='SER'
  44. MSERCOUNT=MSERCOUNT+1
  45. ENDI
  46. SKIP
  47. ENDD
  48. IF MSERCOUNT=0
  49. @LINE,12 SAY '(NO BILLABLE TIME THIS MONTH)'
  50. ENDI
  51. IF MSERCOUNT<=10 .AND. MSERCOUNT>0
  52. FIND '&MFILE_NMBR'
  53. DO WHIL  FILE_NMBR='&MFILE_NMBR' .and. .not. eof()
  54. IF KIND='SER'
  55. @ line,00 say DTOC(date)+' - '+second
  56. line=line+1
  57. SKIP
  58. ELSE
  59. SKIP
  60. ENDI
  61. ENDD
  62. ENDI
  63. IF MSERCOUNT>10
  64. @ LINE,12 SAY '(SEE ATTACHED LIST)'
  65. ENDI
  66. IF MCODE='5'
  67. TOTALSER=0.00
  68. ELSE
  69. TOTALSER=0.00
  70. FIND '&MFILE_NMBR'
  71. DO WHIL FILE_NMBR='&MFILE_NMBR' .and. .not. eof()
  72. IF KIND='SER'
  73. TOTALSER=TOTALSER+AMOUNT
  74. SKIP
  75. ELSE
  76. SKIP
  77. ENDI
  78. ENDD
  79. ENDI
  80. ENDI
  81. line=prow()+2
  82. @line,00 SAY 'TOTAL FOR THE ABOVE SERVICES'
  83. @line,65 SAY '$'
  84. @line,66 SAY str(TOTALSER,8,2)  
  85. line=prow()+2
  86. @line,00 SAY 'DATE        OUT OF POCKET EXPENSES'+
  87. LINE=PROW()+2
  88. FIND '&MFILE_NMBR'
  89. IF EOF()
  90. @LINE,12 say '(NO BILLABLE EXPENSES THIS MONTH)'
  91. TOTALEXP=0.00
  92. MEXPCOUNT=0
  93. ELSE
  94. MEXPCOUNT=0
  95. FIND '&MFILE_NMBR'
  96. DO WHIL FILE_NMBR='&MFILE_NMBR' .and. .not. eof()
  97. IF KIND='EXP'
  98. MEXPCOUNT=MEXPCOUNT+1
  99. SKIP
  100. ELSE
  101. SKIP
  102. ENDI
  103. ENDD
  104. IF MEXPCOUNT=0
  105. @LINE,12 SAY '(NO BILLABLE EXPENSES THIS MONTH)'
  106. ENDI
  107. IF MEXPCOUNT<=05 .AND. MEXPCOUNT>0
  108. FIND '&MFILE_NMBR'
  109. DO WHIL  FILE_NMBR='&MFILE_NMBR' .and. .not. eof()
  110. IF KIND='EXP'
  111. @ line,00 say DTOC(date)+' - '+second
  112. line=line+1
  113. SKIP
  114. ELSE
  115. SKIP
  116. ENDI
  117. ENDD
  118. ENDI
  119. IF MEXPCOUNT>5
  120. @ LINE,12 SAY '(SEE ATTACHED LIST)'
  121. ENDI
  122. TOTALEXP=0.00 
  123. FIND '&MFILE_NMBR'
  124. DO WHIL FILE_NMBR='&MFILE_NMBR' .and. .not. eof()
  125. IF KIND='EXP'
  126. TOTALEXP=TOTALEXP+AMOUNT
  127. SKIP
  128. ELSE
  129. SKIP
  130. ENDI
  131. ENDD
  132. ENDI
  133. LINE=PROW()+2
  134. @ LINE,00 SAY 'TOTAL FOR THE ABOVE EXPENSES'
  135. @ LINE,65 SAY '$'
  136. @ LINE,66 SAY str(TOTALEXP,8,2)
  137. LINE=PROW()+2
  138. SELE CURRENT
  139. @LINE,56 SAY 'TOTAL'
  140. @LINE,65 SAY '$'
  141. mstr3=prev_bal+totalser+totalexp
  142. @LINE,66 SAY str(mstr3,8,2)
  143. LINE=PROW()+2
  144. @ LINE,40 SAY 'PAYMENT RECEIVED'
  145. SELE SERVICE
  146. FIND '&MFILE_NMBR'
  147. LINE=PROW()+2
  148. IF EOF()
  149. @LINE,40 SAY '(NO PAYMENT RECEIVED)'
  150. TOTALPAY=0.00
  151. MPAYCOUNT=0
  152. ELSE
  153. MPAYCOUNT=0
  154. FIND '&MFILE_NMBR'
  155. DO WHIL FILE_NMBR='&MFILE_NMBR' .and. .not. eof()
  156. IF KIND='PAY'
  157. MPAYCOUNT=MPAYCOUNT+1
  158. SKIP
  159. ELSE
  160. SKIP
  161. ENDI
  162. ENDD
  163. IF MPAYCOUNT=0
  164. @LINE,40 SAY '(NO PAYMENT RECEIVED)'
  165. ENDI
  166. IF MPAYCOUNT<=03 .AND. MPAYCOUNT>0
  167. FIND '&MFILE_NMBR'
  168. DO WHIL FILE_NMBR='&MFILE_NMBR' .and. .not. eof()
  169. IF KIND='PAY'
  170. @LINE,40 SAY DTOC(DATE)+' - '+'$' 
  171. @LINE,PCOL()+1 SAY str(AMOUNT,8,2)  
  172. LINE=LINE+1
  173. SKIP
  174. ELSE
  175. SKIP
  176. ENDI
  177. ENDD
  178. ENDI
  179. IF MPAYCOUNT>3
  180. @ LINE,40 SAY '(SEE ATTACHED)'
  181. ENDI
  182. LINE=PROW()+2
  183. @LINE,40 SAY 'TOTAL PAYMENTS'
  184. TOTALPAY=0.00
  185. FIND '&MFILE_NMBR'
  186. DO WHIL FILE_NMBR='&MFILE_NMBR' .and. .not. eof()
  187. IF KIND='PAY'
  188. TOTALPAY=TOTALPAY+AMOUNT
  189. SKIP
  190. ELSE
  191. SKIP
  192. ENDI
  193. ENDD
  194. ENDI
  195. @LINE,65 SAY '$'
  196. @LINE,66 SAY str(TOTALPAY,8,2)  
  197. SELE CURRENT
  198. REPL SER_BAL WITH TOTALSER,EXP_BAL WITH TOTALEXP
  199. REPL PAY_BAL WITH TOTALPAY
  200. IF hold
  201. REPL prev_bal with totalexp-totalpay
  202. ELSE
  203. IF totalser<begin_bal
  204. REPL prev_bal with (begin_bal+totalexp)-totalpay
  205. ELSE
  206. REPL prev_bal with (totalser+totalexp)-totalpay
  207. ENDI
  208. ENDI
  209. LINE=PROW()+2
  210. @ LINE,50 SAY 'AMOUNT DUE'
  211. @ LINE,65 SAY '$'
  212. @ LINE,66 SAY str(PREV_BAL,8,2)
  213. IF Prev_bal<0
  214. @line,75 say 'CR'
  215. ENDI
  216. MFOOTER1='NOTE: LEGAL FEES ARE CHARGED AS A COURTESY AND ARE'
  217. MFOOTER2='DUE-NO LATER THAN-THE 10TH OF THE MONTH'
  218. POS=40-LEN(TRIM(MFOOTER1))/2
  219. POS=40-LEN(TRIM(MFOOTER2))/2
  220. @60,POS SAY MFOOTER2
  221. IF MSERCOUNT>10 .OR. MEXPCOUNT>5 .OR. MPAYCOUNT>3
  222. EJEC
  223. LINE=01
  224. IF MSERCOUNT>10 
  225. SELE SERVICE
  226. LINE=LINE+2
  227. @LINE,00 SAY 'DATE       PROFESSIONAL SERVICES RENDERED'
  228. LINE=5
  229. FIND '&MFILE_NMBR'
  230. DO WHIL FILE_NMBR='&MFILE_NMBR' .and. .not. eof()
  231. IF KIND='SER'
  232. @LINE,00 SAY DTOC(DATE)+' - '+SECOND
  233. SKIP
  234. LINE=LINE+1
  235. IF LINE>=56
  236. EJEC
  237. LINE=01
  238. ENDI
  239. ELSE
  240. SKIP
  241. ENDI
  242. ENDD
  243. ENDI
  244. LINE=PROW()+2
  245. IF MEXPCOUNT>5
  246. SELE SERVICE
  247. @LINE,00 SAY 'DATE        EXPENSES'
  248. LINE=LINE+2
  249. FIND '&MFILE_NMBR'
  250. DO WHIL FILE_NMBR='&MFILE_NMBR' .and. .not. eof()
  251. IF KIND='EXP'
  252. @LINE,00 SAY DTOC(DATE)+' - '+SECOND
  253. SKIP
  254. LINE=LINE+1
  255. IF LINE>=56
  256. EJEC
  257. LINE=01
  258. ENDI
  259. ELSE
  260. SKIP
  261. ENDI
  262. ENDD
  263. ENDI
  264. LINE=PROW()+2
  265. IF MPAYCOUNT>3
  266. SELE SERVICE
  267. @LINE,00 SAY 'DATE        PAYMENT'
  268. LINE=LINE+2
  269. FIND '&MFILE_NMBR'
  270. DO WHIL FILE_NMBR='&MFILE_NMBR' .and. .not. eof()
  271. IF KIND='PAY'
  272. @LINE,00 SAY DTOC(DATE)+' - '
  273. @LINE,12 SAY AMOUNT  
  274. SKIP
  275. LINE=LINE+1
  276. IF LINE>=56
  277. EJEC
  278. LINE=01
  279. ENDI
  280. ELSE
  281. SKIP
  282. ENDI
  283. ENDD
  284. ENDI
  285. ENDI
  286. SET PRIN ON
  287. EJEC
  288. SET PRIN OFF
  289. CLEA
  290. SET DEVI TO SCREEN
  291. CLEA
  292. RETU
  293.